package com.jna.unrar.bean;

import com.jna.unrar.callback.UNRARCALLBACK;
import com.sun.jna.Structure;
import com.sun.jna.WString;

import java.util.Arrays;
import java.util.List;

public class RAROpenArchiveDataEx extends Structure {
    public String ArcName;
    public WString ArcNameW;
    public int OpenMode;
    public int OpenResult;
    public String CmtBuf;
    public int CmtBufSize;
    public int CmtSize;
    public int CmtState;
    public int Flags;
    public UNRARCALLBACK Callback;
    public Long UserData;
    public int OpFlags;
    public String CmtBufW;
    public int Reserved[] = new int[25];

    @Override
    protected List<String> getFieldOrder() {
        return Arrays.asList(new String[]{
                "ArcName",
                "ArcNameW",
                "OpenMode",
                "OpenResult",
                "CmtBuf",
                "CmtBufSize",
                "CmtSize",
                "CmtState",
                "Flags",
                "Callback",
                "UserData",
                "OpFlags",
                "CmtBufW",
                "Reserved"
        });
    }
}
